library(tidyverse)
## Loading tidyverse: ggplot2
## Loading tidyverse: tibble
## Loading tidyverse: tidyr
## Loading tidyverse: readr
## Loading tidyverse: purrr
## Loading tidyverse: dplyr
## Conflicts with tidy packages ----------------------------------------------
## filter(): dplyr, stats
## lag():    dplyr, stats
library(knitr)
knitr::opts_chunk$set(
  comment = "#>",
  collapse = TRUE,
  fig.align = "center"
)
comma <- function(x) format(x, digits = 2, big.mark = ",")
theme_set(theme_minimal())

Introducción:

Es bien sabido que el otorgamiento de créditos es uno de los negocios más rentables para los bancos, es por ello que estos asignan mucho presupuesto a la generación de campañas para la colocación de estos dirigidas a clientes y no clientes de tal modo que el objetivo, en el primer caso, además de acrecentar el negocio también es incrementar la fildelidad del cliente con el banco y en el segundo caso hablamos de atraer nuevos clientes con ofertas crediticias atractivas. Entonces, para poder hacer una selección óptima tenemos que encontrar las características más importantes,de los clientes, relacionadas con la aceptación de un préstamo crediticio, además tomar en cuenta que sea solvente para poder pagarlo, de tal modo que podamos jerarquizar a cada uno de ellos con respecto a la posibilidad de que acepten la oferta y con ello lograr que la campaña sea exitosa en términos de tasa de aceptación y de costos. Dado lo anterior se plantean 8 preguntas buscando esas caraterísticas mencionadas,

la pregunta 1. busca saber quienes son los clientes que contratan las ofertas

la pregunta 2.- trata de ver una diferencia entre las poblaciones de clientes que responden y no.

la pregunta 3. trata de validar si hace sentido las carácteristicas de un grupo que se comporta distinto a los demás.

la pregunta 4- tratamos de ver que tan diferente son los comportamientos de los clientes en un banco vs. los del país para entender si podemos pensar de la misma forma en términos económicos.

la pregunta 5.- trata de identificar si el ciclo de vida de una persona repercute en la necesidad o gusto de responder a una campaña.

la pregunta 6.-es una consecuencia de la 5 para pensar en una variable que discrimine a los clientes que aceptan la oferta vs. los que no.

la pregunta 7.-llevamos la pregunta 6 a términos individuales para probar la relevancia de la variable # de productos.

la pregunta 8.- Ahora con un sumarizado por estado tratamos de buscar variables relevantes para la clasificación de los clientes y su parecido con lo que conocemos a nivel país.

Descripción de la base de datos:

La base es una muestra aleatoria de los clientes de un banco a quienes se les ha hecho una oferta de préstamos personales(créditos) a lo largo de un año, estas campañas se lanzaron por trimestre, no se cuenta con los meses de estas, el objetivo de la base es para clasificar quienes son los cientes que aceptan las ofertas. En General la base muestra variables financieras de los clientes casi todas vistas a 12,6,3 o 1 mes atrás como por ejemplo saldos de los clientes,gastos promedio, saldos de algunos otros créditos, estimaciones anuales de ingresos, etc y como variables categóricas se cuenta con datos como sexo, estado civil, estado de la república donde vive el cliente,clasificación del ciclo de vida de cliente, Ocupación etc. En particular la variable contrata es una variabe binaria que identifica aquellos clientes que aceptaron el préstamo con valor 1 0 en otro caso.

se anexa el layout de variables con su descripción por el número de variables sólo se deja parte d este que describe las variables que seusan en el análisis.

Metadata:

lay<- read_delim("/home/abraham/layout_cons.csv", ",", 
  escape_double = FALSE, trim_ws = TRUE) 
#> Parsed with column specification:
#> cols(
#>   Variable = col_character(),
#>   Descripcion = col_character(),
#>   `Registros no nulos` = col_integer(),
#>   `Tipo de dato` = col_character(),
#>   `%no nulos` = col_double()
#> )
kable(lay)
Variable Descripcion Registros no nulos Tipo de dato %no nulos
id2 ID 176330 int64 100.0
IM_MAX_SDO_MEDIO_12M saldo máximo en los últimos 12 meses 176330 float64 100.0
IM_PROM_HIPOTECA_12M importe promedio de pagos de hipoteca en los últimos 12 meses 176330 float64 100.0
IM_PROM_PREST_NOM_12M importe promedio mensual de préstamos de nómina en los últimos 12 meses 176330 float64 100.0
IM_PROM_AUTO_12M importe promedio de pagos de crédito auto en los últimos 12 meses 176330 float64 100.0
IM_PROM_PPIS_12M importe promedio mensual de ppis en los últimos 12 meses 176330 float64 100.0
IM_PROM_OTRO_12M importe promedio mensual de otros productos en los últimos 12 meses 176330 float64 100.0
IM_PROM_CARTERA_12M promedio del saldo de créditos de los últimos 12 meses 176330 float64 100.0
IM_PROM_SDO_CORTE_12M promedio mensual de saldos al corte de los últimos 12 meses 176330 float64 100.0
IM_PROM_SDO_MEDIO_12M promedio mensual de saldos en los últimos 12 meses 176330 float64 100.0
IM_PROM_VISTA_12M saldo promedio de captacion de los últimos 12 meses 176330 float64 100.0
IM_PROM_PLAZO_12M importe promedio mensual en plazos en los últimos 12 meses 176330 float64 100.0
IM_PROM_FONDO_RF_12M importe promedio del saldo en fondos de renta fija de los últimos 12 meses 176330 float64 100.0
IM_PROM_FONDO_RV_12M importe promedio del saldo en fondos de renta variable de los últimos 12 meses 176330 float64 100.0
IM_PROM_FONDOS_AES_12M importe promedio de saldos de fondos avanzados ,esenciales y selectos 176330 float64 100.0
IM_PROM_MERCADOS_12M importe promedio de sados en productos de mercados cap, div, in 176330 float64 100.0
IM_PROM_ACTIVO_12M importe promedio mensual de pagos a créditos en los últimos 12 meses 176330 float64 100.0
IM_PROM_VISTA_6M saldo promedio de captacion de los últimos 6 meses 176330 float64 100.0
IM_PROM_PREST_CONSUMO_6M importe promedio mensual de préstamos al consumo en los últimos 6 meses 176330 float64 100.0
IM_PROM_SDO_CORTE_3M promedio mensual de saldos al corte de los últimos 3 meses 176330 float64 100.0
IM_SUM_SDO_CORTE_3M suma de saldos a la fecha de corte de los últimos 3 meses 44634 float64 25.3
TO_MISS_SDO_CORTE_3M número de veces que no se ha reportado el saldo al corte en los últimos 3 meses 176239 float64 99.9
IM_PROM_SDO_MEDIO_3M promedio mensual de saldos en los últimos 3 meses 176330 float64 100.0
IM_PROM_VISTA_3M saldo promedio de captacion de los últimos 3 meses 176330 float64 100.0
IM_PROM_NOMINA_3M importe promedio de depósitos e nómina en los últimos 3 meses 176330 float64 100.0
IM_PROM_PREST_CONSUMO_3M importe promedio mensual de préstamos al consumo en los últimos 3 meses 18554 float64 10.5
IM_SUM_FONDOS_AES_3M suma de saldo promedio de fondos AES en los últimos 3 meses 2870 float64 1.6
TO_MISS_FONDOS_AES_3M Número de veces que no se ha reportado el saldo de fondos AES en los últimos 3 meses 176239 float64 99.9
IM_SUM_SDO_MEDIO_3M suma de saldos medios captación mensuales de los últimos 3 meses 176239 float64 99.9
TO_MISS_SDO_MEDIO_3M número de veces que no se ha reportado el saldo medio en los últimos 3 meses 176239 float64 99.9
IM_SUM_ACTIVO_TOTAL_3M suma de saldos de todos los créditos en los últimos 3 meses 47476 float64 26.9
TO_MISS_ACTIVO_TOTAL_3M número de veces que el cte ha estado activo en los últimos 3 meses 176239 float64 99.9
IM_PROM_SDO_CORTE_1M promedio mensual de saldos al corte del último mes 176330 float64 100.0
IM_PROM_SDO_MEDIO_1M promedio mensual de saldos en el último mes 176330 float64 100.0
IM_PROM_ACTIVO_1M importe promedio mensual de pagos a créditos en el último mes 176330 float64 100.0
IM_PROM_PREST_CONSUMO_1M importe promedio mensual de préstamos al consumo en el último mes 176330 float64 100.0
IM_SUM_SDO_CORTE_1M suma de saldos a la fecha de corte del último mes 44014 float64 25.0
TO_MISS_SDO_CORTE_1M se ha reportado el saldo al corte n el último mes 173511 float64 98.4
IM_SUM_SDO_MEDIO_1M suma de saldos medios captación mensuales de los último mes 173511 float64 98.4
TO_MISS_TO_SDO_MEDIO_1M se ha reportado el saldo medio en el último mes 173511 float64 98.4
IM_SUM_IM_SDO_CORTE_2MA saldo al corte 2 meses antes 43716 float64 24.8
TO_MISS_TO_SDO_CORTE_2MA saldo al corte fue reportado hace 2 meses 169355 float64 96.0
IM_SUM_IM_SDO_MEDIO_2MA saldo medio 2 meses antes 169355 float64 96.0
TO_MISS_TO_SDO_MEDIO_2MA saldo medio fue reportado hace 2 meses 169355 float64 96.0
IM_COC_IM_FONDOS_AES_CAP_0_2 0 176330 float64 100.0
IM_COC_IM_SDO_CORTE_ACTIVO_0_2 0 176330 float64 100.0
IM_DELTA_IM_SDO_CORTE_0_2 delta de saldo al corte actual vs. Hace 2 meses 176330 float64 100.0
IM_DELTA_IM_SDO_MEDIO_0_2 delta de saldo medio actual vs. Hace 2 meses 176330 float64 100.0
IM_PROM_IM_CARGOS_12M importe promedio de cargos de los últimos 12 meses 176330 float64 100.0
IM_PROM_IM_CARGOS_6M importe promedio de cargos de los últimos 6 meses 176330 float64 100.0
IM_PROM_IM_CARGOS_3M importe promedio de cargos de los últimos 3 meses 176330 float64 100.0
IM_PROM_IM_CARGOS_1M importe promedio de cargos de los último mes 176330 float64 100.0
TO_PROM_TO_CARGOS_6M promedio del numero de cargos en los últimos 6 meses 176330 float64 100.0
TO_PROM_TO_CARGOS_3M promedio del numero de cargos en los últimos 3 meses 176330 float64 100.0
IM_PROM_IM_OPERS_TARJ_TDC_1M importe promedio mensual de pagos con tdc en el último mes 176330 float64 100.0
IM_PROM_IM_OPERS_TARJ_TDC_3M importe promedio mensual de pagos con tdc en los últimos 3 meses 176330 float64 100.0
TO_PROM_TO_OPERS_TARJ_TDC_3M número de transacciones promedio mensuales hechas con TDC en los últimos 3 meses 176330 float64 100.0
IM_PROM_IM_OPERS_TARJ_TDC_6M importe promedio mensual de pagos con tdc en los últimos 6 meses 176330 float64 100.0
TO_FONDOS_AES número de fondos /avanzados/esenciales y selectos 176330 int64 100.0
TO_MERCADOS número de productos de mercado de capitales/divisas/dinero 176330 int64 100.0
TO_PLAZO cuenta con algún producto de inversión 176330 int64 100.0
TO_CTA_HIPOTECA tiene algún crédito hipotecario vigente 176330 int64 100.0
TO_FONDO_RF tiene fondos de renta fja 176330 int64 100.0
TO_FONDO_RV tiene fondos de renta variable 176330 int64 100.0
TO_PREST_CONSUMO númeo de préstamos contratados en el último año 176330 int64 100.0
TO_DELTA_TO_PREST_CONSUMO_0_2 delta del número de créditos al consumo en los último 3 meses 176330 float64 100.0
NU_REGULARIDAD_TDC_ULT_6M Frecuencia mensual de uso de la tdc en los últimos 6 ,meses 176330 int64 100.0
IM_PROM_CUOTA_TOT_ULT_1M importe promedio de cuota de tdc pagada en los último mes 19945 float64 11.3
IM_PROM_CUOTA_TOT_ULT_3M importe promedio de cuota de tdc pagada en los últimos 3 meses 21206 float64 12.0
NU_VINC_BANCOMER índice de fidelidad 176330 int64 100.0
NU_VINC_COGNODATA Estimación de la fidelidad del cliente 176330 int64 100.0
TO_IR_AJUSTADO estimación de ingresos anuales 176330 float64 100.0
TP_NIVEL_IR_AJUSTADO nivel de ingresos anuales estimados 176330 object 100.0
IM_PROM_IM_NIBT_TOTAL_12M rentabilidad promedio mensual del cte. en el útimo año 176330 float64 100.0
TO_RANGO_EDAD Rango de edad del cliente 176330 int64 100.0
IM_PROM_GASTOS_1M importe promedio de gastos en el último mes 176330 float64 100.0
IM_PROM_GASTOS_3M importe promedio de gastos en los últimos 3 meses 176330 float64 100.0
TP_SEGMENTO_FINAL2 Segmento de ciclo de vida 176330 object 100.0
TP_SUBSEGMENTO clasificación del cliente 176330 object 100.0
TO_NECESIDAD_FINAN_CAP_1M Ratio de captación vs. Créditos en el último mes 176330 float64 100.0
TO_NECESIDAD_FINAN_CAP_3M Ratio de captación vs. Créditos en los últimos 3 meses 176330 float64 100.0
TO_DELTA_NEC_FIN_CAP_0_2 delta de necesidad financiera con respecto a 3 meses anteriores 176330 float64 100.0
TP_PERSONA Persona Física o moral 176330 object 100.0
TP_DOMICILIO Tipo de domicilio 170545 object 96.7
CD_ESTADO Estado del Cliente 172866 object 98.0
CD_EDO_CIVIL estado civil 170208 object 96.5
CD_SEGMENTACION segmento operativo 176327 object 100.0
CD_SEXO sexo 175458 object 99.5
CD_OCUPACION Ocupación 168222 object 95.4
CD_RESIDENCIA País de Residencia 174903 object 99.2
TP_VIVIENDA_SEPO tipo de vivienda 71989 object 40.8
contrata variable de respuesta: 1 contrata y 0. e.o.c 176330 int64 100.0

******rangos******** TO_RANGO_EDAD :

if edad, <= 37 then rango_edad = 0; else if coalesce(edad,0) > 37 and coalesce(edad,0) <= 44 then rango_edad = 1; else if coalesce(edad,0) > 44 and coalesce(edad,0) <= 52 then rango_edad = 2; else if coalesce(edad,0) > 52 and coalesce(edad,0) <= 62 then rango_edad = 3; else rango_edad = 4;

TP_NIVEL_IR_AJUSTADO

case when 0 < ingreso_anual <= 50000.0 then ‘1_RENTA BAJA’ when ingreso_anual > 50000.0 and ingreso_anual <= 120000.0 then ‘2_RENTA MEDIA BAJA’ when ingreso_anual > 120000.0 and ingreso_anual <= 250000.0 then ‘3_RENTA MEDIA ALTA’ when ingreso_anual > 250000.0 and ingreso_anual < 450000.0 then ‘4_RENTA ALTA’ when ingreso_anual >= 450000.0 then ‘5_RENTA MUY ALTA’


Se cuenta con un dataset de 176,330 registros(ctes.) con 92 campos o variables donde existe una variable de identificación de clientes (id2) y una variable respuesta a modelar que es contrata la cual es una variable binaria donde 1 significa que el cte. acepta contratar un préstamo y 0 en otro caso.

Se cuenta con un dataset de 176,330 registros(ctes.) con 92 campos o variables donde existe una variable de identificación de clientes (id2) y una variable respuesta a modelar que es ‘contrata’ la cual es una variable binaria donde 1 significa que el cte. acepta contratar un préstamo y 0 en otro caso. La tasa de aceptación general es de 1.17%

cred<- read_delim("/home/abraham/multivsamp.csv", ";", 
  escape_double = FALSE, trim_ws = TRUE) 
#> Parsed with column specification:
#> cols(
#>   .default = col_double(),
#>   id2 = col_integer(),
#>   IM_PROM_OTRO_12M = col_integer(),
#>   IM_PROM_CARTERA_12M = col_integer(),
#>   IM_PROM_MERCADOS_12M = col_integer(),
#>   TO_MISS_SDO_CORTE_3M = col_integer(),
#>   TO_MISS_FONDOS_AES_3M = col_integer(),
#>   TO_MISS_SDO_MEDIO_3M = col_integer(),
#>   TO_MISS_ACTIVO_TOTAL_3M = col_integer(),
#>   TO_MISS_SDO_CORTE_1M = col_integer(),
#>   TO_MISS_TO_SDO_MEDIO_1M = col_integer(),
#>   TO_MISS_TO_SDO_CORTE_2MA = col_integer(),
#>   TO_MISS_TO_SDO_MEDIO_2MA = col_integer(),
#>   TO_FONDOS_AES = col_integer(),
#>   TO_MERCADOS = col_integer(),
#>   TO_PLAZO = col_integer(),
#>   TO_CTA_HIPOTECA = col_integer(),
#>   TO_FONDO_RF = col_integer(),
#>   TO_FONDO_RV = col_integer(),
#>   TO_PREST_CONSUMO = col_integer(),
#>   NU_REGULARIDAD_TDC_ULT_6M = col_integer()
#>   # ... with 16 more columns
#> )
#> See spec(...) for full column specifications.
#> Warning in rbind(names(probs), probs_f): number of columns of result is not
#> a multiple of vector length (arg 1)
#> Warning: 442 parsing failures.
#> row # A tibble: 5 x 5 col     row                  col               expected  actual expected   <int>                <chr>                  <chr>   <chr> actual 1  1435 IM_PROM_MERCADOS_12M no trailing characters  .82583 file 2  1781     IM_PROM_OTRO_12M no trailing characters     .89 row 3  2053 IM_PROM_MERCADOS_12M no trailing characters  .30083 col 4  2726     IM_PROM_OTRO_12M no trailing characters     .12 expected 5  2726  IM_PROM_CARTERA_12M no trailing characters .866667 actual # ... with 1 more variables: file <chr>
#> ... ................. ... ........................................................... ........ ........................................................... ...... ........................................................... .... ........................................................... ... ........................................................... ... ........................................................... ........ ........................................................... ...... .......................................
#> See problems(...) for more details.
datana<-is.na(cred)
cred[datana]<-0 

cred
#> # A tibble: 176,330 x 92
#>      id2 IM_MAX_SDO_MEDIO_12M IM_PROM_HIPOTECA_12M IM_PROM_PREST_NOM_12M
#>    <int>                <dbl>                <dbl>                 <dbl>
#>  1     1              1100.00                    0                 0.000
#>  2     5             22836.13                    0              2445.065
#>  3    16              5936.92                    0             90829.800
#>  4    17            541013.76                    0                 0.000
#>  5    62              5059.81                    0                 0.000
#>  6    64             39304.27                    0             63344.652
#>  7    68               677.29                    0                 0.000
#>  8    76                 0.00                    0                 0.000
#>  9    79             66232.62                    0                 0.000
#> 10   100             85668.20                    0                 0.000
#> # ... with 176,320 more rows, and 88 more variables:
#> #   IM_PROM_AUTO_12M <dbl>, IM_PROM_PPIS_12M <dbl>,
#> #   IM_PROM_OTRO_12M <dbl>, IM_PROM_CARTERA_12M <dbl>,
#> #   IM_PROM_SDO_CORTE_12M <dbl>, IM_PROM_SDO_MEDIO_12M <dbl>,
#> #   IM_PROM_VISTA_12M <dbl>, IM_PROM_PLAZO_12M <dbl>,
#> #   IM_PROM_FONDO_RF_12M <dbl>, IM_PROM_FONDO_RV_12M <dbl>,
#> #   IM_PROM_FONDOS_AES_12M <dbl>, IM_PROM_MERCADOS_12M <dbl>,
#> #   IM_PROM_ACTIVO_12M <dbl>, IM_PROM_VISTA_6M <dbl>,
#> #   IM_PROM_PREST_CONSUMO_6M <dbl>, IM_PROM_SDO_CORTE_3M <dbl>,
#> #   IM_SUM_SDO_CORTE_3M <dbl>, TO_MISS_SDO_CORTE_3M <dbl>,
#> #   IM_PROM_SDO_MEDIO_3M <dbl>, IM_PROM_VISTA_3M <dbl>,
#> #   IM_PROM_NOMINA_3M <dbl>, IM_PROM_PREST_CONSUMO_3M <dbl>,
#> #   IM_SUM_FONDOS_AES_3M <dbl>, TO_MISS_FONDOS_AES_3M <dbl>,
#> #   IM_SUM_SDO_MEDIO_3M <dbl>, TO_MISS_SDO_MEDIO_3M <dbl>,
#> #   IM_SUM_ACTIVO_TOTAL_3M <dbl>, TO_MISS_ACTIVO_TOTAL_3M <dbl>,
#> #   IM_PROM_SDO_CORTE_1M <dbl>, IM_PROM_SDO_MEDIO_1M <dbl>,
#> #   IM_PROM_ACTIVO_1M <dbl>, IM_PROM_PREST_CONSUMO_1M <dbl>,
#> #   IM_SUM_SDO_CORTE_1M <dbl>, TO_MISS_SDO_CORTE_1M <dbl>,
#> #   IM_SUM_SDO_MEDIO_1M <dbl>, TO_MISS_TO_SDO_MEDIO_1M <dbl>,
#> #   IM_SUM_IM_SDO_CORTE_2MA <dbl>, TO_MISS_TO_SDO_CORTE_2MA <dbl>,
#> #   IM_SUM_IM_SDO_MEDIO_2MA <dbl>, TO_MISS_TO_SDO_MEDIO_2MA <dbl>,
#> #   IM_COC_IM_FONDOS_AES_CAP_0_2 <dbl>,
#> #   IM_COC_IM_SDO_CORTE_ACTIVO_0_2 <dbl>, IM_DELTA_IM_SDO_CORTE_0_2 <dbl>,
#> #   IM_DELTA_IM_SDO_MEDIO_0_2 <dbl>, IM_PROM_IM_CARGOS_12M <dbl>,
#> #   IM_PROM_IM_CARGOS_6M <dbl>, IM_PROM_IM_CARGOS_3M <dbl>,
#> #   IM_PROM_IM_CARGOS_1M <dbl>, TO_PROM_TO_CARGOS_6M <dbl>,
#> #   TO_PROM_TO_CARGOS_3M <dbl>, IM_PROM_IM_OPERS_TARJ_TDC_1M <dbl>,
#> #   IM_PROM_IM_OPERS_TARJ_TDC_3M <dbl>,
#> #   TO_PROM_TO_OPERS_TARJ_TDC_3M <dbl>,
#> #   IM_PROM_IM_OPERS_TARJ_TDC_6M <dbl>, TO_FONDOS_AES <int>,
#> #   TO_MERCADOS <int>, TO_PLAZO <int>, TO_CTA_HIPOTECA <int>,
#> #   TO_FONDO_RF <int>, TO_FONDO_RV <int>, TO_PREST_CONSUMO <int>,
#> #   TO_DELTA_TO_PREST_CONSUMO_0_2 <dbl>, NU_REGULARIDAD_TDC_ULT_6M <int>,
#> #   IM_PROM_CUOTA_TOT_ULT_1M <dbl>, IM_PROM_CUOTA_TOT_ULT_3M <dbl>,
#> #   NU_VINC_BANCOMER <int>, NU_VINC_COGNODATA <int>, TO_IR_AJUSTADO <dbl>,
#> #   TP_NIVEL_IR_AJUSTADO <chr>, IM_PROM_IM_NIBT_TOTAL_12M <dbl>,
#> #   TO_RANGO_EDAD <int>, IM_PROM_GASTOS_1M <dbl>, IM_PROM_GASTOS_3M <dbl>,
#> #   TP_SEGMENTO_FINAL2 <chr>, TP_SUBSEGMENTO <chr>,
#> #   TO_NECESIDAD_FINAN_CAP_1M <dbl>, TO_NECESIDAD_FINAN_CAP_3M <dbl>,
#> #   TO_DELTA_NEC_FIN_CAP_0_2 <dbl>, TP_PERSONA <lgl>, TP_DOMICILIO <chr>,
#> #   CD_ESTADO <chr>, CD_EDO_CIVIL <chr>, CD_SEGMENTACION <chr>,
#> #   CD_SEXO <chr>, CD_OCUPACION <chr>, CD_RESIDENCIA <chr>,
#> #   TP_VIVIENDA_SEPO <chr>, contrata <int>

Pregunta 1.-Cuál es el Rango de Nivel de ingresos anuales(TP_NIVEL_IR_AJUSTADO) que más aceptaciones de las campañas tiene o más responde a estas campañas y por sexo quién contrata más? hombres o mujeres?

credc<-cred%>%filter(contrata==1) 
 ggplot(data=credc,aes(x=TP_NIVEL_IR_AJUSTADO,fill=CD_SEXO))+geom_bar(aes(y = ..count../sum(..count..)))+labs(y='percent')

Respuesta 1.-Los clientes que ganan entre 50 y 120 mil pesos anuales son los que más aceptan préstamos poco más del 35% de estos de acuerdo a la distribución por sexo podemos ver que los hombres son los que más aceptan los préstamos.

Pregunta 2.- Una de las hipótesis es que un cliente busca algún tipo de crédito cuando tiene muchos gastos o normalmente tiene un gasto mensual alto recurrente, de acuedo con esta hipótesis Para que segmentos de nivel de ingreso se cumple y para cuales no? Para responder esta pregunta pregunta vamos a usar la variable IM_PROM_IM_CARGOS_12M que significa el importe promedio mensual de cargos o pagos que ha hecho el cliente en el último año.

ggplot(data=cred)+geom_boxplot(aes(x=factor(contrata),y=log(abs(IM_PROM_IM_CARGOS_12M)+1)))+facet_wrap(~TP_NIVEL_IR_AJUSTADO)

Respuesta 2.-Los clientes que ganan más de 450mil pesos anuales (Renta muy alta) no tienen diferencia, en la distribución del gasto promedio mensual que hacen a lo largo de un año, entre los que aceptan o no un préstamo crediticio, es decir esta variable no discrimina entre los que contratan y no los préstamos crediticios para este segmento de nivel de ingresos, podemos ver que para los segmentos con ingresos menores de 450mil anuales sí se cumple la hipótesis planteada.

Pregunta 3.-Dado la respuesta 2 aquellos clientes que tienen ingresos de más de 450mil pesos se entendería que son los clientes con mayores ingresos y mayor liquidez(en términos bancarios esto significa que se tiene más saldo de cuentas de captación que saldos de crédito), para aquellos clientes que aceptan los préstamos está relación es evidente? la edad y el estado civil influyen? si no se da la relación esperada que podemos concluir? Para revisar la liquidez de los clientes vamos a utilizar la variable TO_NECESIDAD_FINAN_CAP_3M que muestra la liquidez del cliene en los últimos 3 meses y la estimación de ingresos numérica vamos a usar TO_IR_AJUSTADO, el estado civil(C,S) casado y soltero y para la edad TO_RANGO_EDAD rangos de edad descritos al principio y sólo analizaremos a aquellos que aceptan las ofertas de préstamos.

library(Hmisc)
#> Loading required package: lattice
#> Loading required package: survival
#> Loading required package: Formula
#> 
#> Attaching package: 'Hmisc'
#> The following objects are masked from 'package:dplyr':
#> 
#>     combine, src, summarize
#> The following objects are masked from 'package:base':
#> 
#>     format.pval, round.POSIXt, trunc.POSIXt, units
cred5<-cred%>%filter(TP_NIVEL_IR_AJUSTADO=='5_RENTA_MUY_ALTA')%>%filter(CD_EDO_CIVIL %in% c('C','S'))%>%filter(contrata==1)
ggplot(data=cred5,aes(x=log(TO_NECESIDAD_FINAN_CAP_3M+1),y=log((TO_IR_AJUSTADO/4.0)+1)))+geom_point()+geom_smooth(method='lm')+facet_grid(CD_EDO_CIVIL~factor(TO_RANGO_EDAD))
#> Warning in log(TO_NECESIDAD_FINAN_CAP_3M + 1): Se han producido NaNs

#> Warning in log(TO_NECESIDAD_FINAN_CAP_3M + 1): Se han producido NaNs

#> Warning in log(TO_NECESIDAD_FINAN_CAP_3M + 1): Se han producido NaNs
#> Warning: Removed 4 rows containing non-finite values (stat_smooth).
#> Warning: Removed 4 rows containing missing values (geom_point).

Respuesta 3.- Primero los segmentos que muestran una relación positiva de las variables son clientes solteros entre 37 y 44 años así como aquellos solteros de entre 52 y 62 años, los datos más extraños se presentan en clientes casadosde más de 52 años(rangos 3 y 4) donde se puede ver que a mayor liquidez menor es la estimación de ingresos anuales, esto nos lleva a pensar que esta estimación anual quizás no está bien calculada para estos clientes.

Pregunta 4.-Cuales son los estados con mayor estimación de ingresos anuales promedio entre los que contratan y no los créditos, se parece a la realidad del País?

credo<-cred%>%filter(CD_ESTADO!='0')
ggplot(credo,aes(x=CD_ESTADO, y=TO_IR_AJUSTADO,fill=factor(contrata))) + stat_summary(fun.y=mean, geom="bar")+coord_flip()+facet_wrap(~factor(contrata))       

Respuesta 4.- Podemos observar, para el caso de los clientes que no contratan, que Nuevo León , Jalisco,Sinaloa y Aguascalientes son los estados con mayor estimación de ingresos promedio, mientras ques estados como Tlaxcala(TL), Querétaro, Baja California y Chiapas son los que menor estimación de ingresos promedio tienen con excpeción de Baja california el resto son estados con niveles socioeconómicos menores que los del norte. Para el caso del universo que acepta la campaña, los estados con mayor promedio de ingreso estimado anual son: Tabasco,Guerrero,Coahuila y DF

Pregunta 5.- Cuál es el número de productos en promedio que se tienen por ciclo de vida, y cual es el porcentaje de contrataciones por cada segmento

library(knitr)
ciclo<-select(cred,TP_SEGMENTO_FINAL2,NU_VINC_COGNODATA,contrata)%>%group_by(TP_SEGMENTO_FINAL2)%>%summarise(prods=mean(NU_VINC_COGNODATA),pct_contrata=mean(contrata)*100)%>%arrange(desc(pct_contrata))
kable(ciclo,caption = '# de Productos y % de contratos por ciclo de vida')
# de Productos y % de contratos por ciclo de vida
TP_SEGMENTO_FINAL2 prods pct_contrata
HOGARES CON HIJOS 4.056717 1.9048298
PAREJAS ADULTAS 2.767143 1.4830670
DIVORCIADO 3.102513 1.4758676
PAREJAS SENIOR 2.693454 1.4479638
JOVEN PROFESIONAL 2.608986 1.3198240
PAREJA JOVEN 2.728391 1.2750185
ADULTOS INDEPENDIENTES 2.261122 0.9964919
ADULTO EN PLENITUD 2.084818 0.9515324
SIN SEGMENTO 1.122197 0.9431985
RETIRADOS 2.056562 0.7308548
JOVEN TRABAJADOR 1.589156 0.4306126
JOVEN DESOCUPADO 1.417655 0.2635046
INFANTIL 1.099584 0.0000000
SIN_EDAD 1.157254 0.0000000

Respuesta 5.- En este caso podemos observar que el segmento con mayor número de productos en el banco son los hogares con hijos que sigifica que un cliente tiene al menos 1 hijo, y vive en familia, entonces podemos observar que estos tienen en promedio 4 productos en el banco(prods) lo cual hace mucho sentido ya que se entiende que un jefe(a) de familia diversifique más su portafolio de productos, y además también la tasa de contratación de este segmento es la mayor(1.9%), observando la tabla parece que existe una relación positiva entre el número de productos y la tasa de aceptación de la campaña….

Pregunta 6.- Podemos confirmar la relación entre # de productos y tasa de aceptación…

library(plotly)
#> 
#> Attaching package: 'plotly'
#> The following object is masked from 'package:Hmisc':
#> 
#>     subplot
#> The following object is masked from 'package:ggplot2':
#> 
#>     last_plot
#> The following object is masked from 'package:stats':
#> 
#>     filter
#> The following object is masked from 'package:graphics':
#> 
#>     layout
p<-ggplot(data=ciclo,aes(x=prods,y=pct_contrata,color=TP_SEGMENTO_FINAL2))+geom_point(aes(size=1))
ggplotly(p)
#> We recommend that you use the dev version of ggplot2 with `ggplotly()`
#> Install it with: `devtools::install_github('hadley/ggplot2')`

Respuesta 6.- es claro en la gr[afica que existe una relación entre el promedio de productos por segmento y la tasa de aceptación, entonces este es un indicio de que el número de productos puede discriminar a los clientes que aceptana o no los préstamos.

Pregunta 7.-Podemos asegurar que a mayor número de productos tenga un cliente, es más propenso a aceptar un préstamo crediticio?

ggplot(data=cred,aes(x=factor(contrata),y=NU_VINC_COGNODATA))+geom_boxplot()+facet_wrap(~TP_SEGMENTO_FINAL2)

Respuesta 7.-En caso de hacer un modelo para clasificar a los clientes que contratan está variable sería claramente relevante porque casi en todos los segmentos hace diferencia la distribución entre los que contratan y los que no. Claramente los segmentos “SIN_EDAD” e “INFANTIL” no tienen contrataciones y esto se explica por que un cliente menor de edad no puede tener un préstamo de crédito y el segmento que no tiene las edades es porque son en su Mayoría personas Morales entonces estos no pueden contratar préstamos personales para físicos, ahora bien hemos entonces encontrado que podemos trabajar con un subconjunto de la base quitando estos 2 segmentos.

Pregunta 8.- Cuál es el estado de la república con mayor número de préstamos activos promedio hay en el momento que se les ofrece la campaña? es más probable que se acepté un préstamo dado que se tiene uno vigente?,Cuál es la relación entre los ingresos promedio por estado y los gastos promedio mensuales por individuo por estado?,Cuál es la relación de la inactividad de los clientes en los últimos 3 meses y las contrataciones de préstamos por estado?

ocup<-select(cred,CD_ESTADO,NU_VINC_COGNODATA,contrata,TO_IR_AJUSTADO,TO_NECESIDAD_FINAN_CAP_3M,IM_PROM_IM_CARGOS_12M,TO_MISS_ACTIVO_TOTAL_3M,TO_PREST_CONSUMO)%>%group_by(CD_ESTADO)%>%summarise(prods=mean(NU_VINC_COGNODATA),ingresos=mean(TO_IR_AJUSTADO),pct_contrata=mean(contrata)*100,liquidez=mean(TO_NECESIDAD_FINAN_CAP_3M),gastos=mean(IM_PROM_IM_CARGOS_12M),num_prestamos=mean(TO_PREST_CONSUMO),inactividad=mean(TO_MISS_ACTIVO_TOTAL_3M))%>%arrange(desc(pct_contrata))%>%arrange(desc(num_prestamos))%>%filter(CD_ESTADO!=0)
kable(ocup)
CD_ESTADO prods ingresos pct_contrata liquidez gastos num_prestamos inactividad
TA 2.766300 205482.3 1.4587675 416.60068 17183.941 0.2075022 2.090801
CA 2.849534 223187.6 1.4647137 334.44976 18239.220 0.1970706 2.097869
BS 2.868276 220783.9 1.3793103 401.40687 17624.917 0.1779310 2.095862
VE 2.575113 237294.4 1.2345679 1400.54355 18713.717 0.1548710 2.147170
OA 2.448314 201188.3 1.6672842 42881.96170 14084.183 0.1515376 2.158948
EM 2.761812 231615.6 1.4247069 25177.87173 17715.383 0.1477006 2.034130
HI 2.543860 217243.5 1.1601585 1915.58903 15903.409 0.1448783 2.153367
CU 2.504078 288670.9 1.6310337 575.10343 24071.758 0.1399603 2.142605
CH 2.614344 215789.4 1.2153372 2713.70188 18635.711 0.1395070 2.130264
TM 2.541985 291075.1 1.4282197 9980.95324 22062.328 0.1388820 2.065747
AG 2.640737 300852.8 0.8700102 2781.44263 24127.982 0.1381781 2.047083
QU 2.768670 295439.9 1.1376896 321.66023 23411.227 0.1368145 2.047841
CS 2.326656 193886.2 1.2326656 766.89651 14971.675 0.1355932 2.261685
SO 2.487058 217885.5 1.5411974 3380.84069 17239.510 0.1347560 2.226833
SL 2.613037 289182.3 0.6588072 1330.82649 21650.177 0.1310680 2.056172
NL 2.754930 554169.7 1.5354509 7538.02938 48561.579 0.1273521 1.927292
DU 2.287065 239946.7 1.6330039 148.63240 18181.732 0.1272024 2.245810
CO 2.506506 247184.5 0.7007007 108.57206 21374.205 0.1271271 2.167167
BN 2.571551 174233.0 1.2025425 8590.21628 12850.926 0.1266105 2.157189
PU 2.500205 213592.4 1.0814511 5062.60126 16023.825 0.1245722 2.216290
MO 2.637072 299525.0 1.5591165 10574.06096 24939.224 0.1229970 2.104807
QR 2.424872 155941.6 1.3287905 -52.78317 11151.717 0.1168654 2.201363
GU 2.492115 281318.6 1.0982822 22722.33365 21919.445 0.1146156 2.154886
ZA 2.300317 215224.3 1.0402533 193.23821 16037.017 0.1135233 2.231117
JA 2.683531 553094.1 1.0894709 2420.51306 50908.256 0.1128274 2.077532
GO 2.190204 175580.4 0.8112981 824.10488 11705.042 0.1114784 2.252103
YU 2.254312 192401.9 1.0483598 3707.08671 12748.395 0.1099087 2.220494
SI 2.533035 356204.2 0.9291122 846.72308 33276.606 0.1018582 2.109773
DF 2.480525 276192.1 0.8572972 3004.71183 22330.593 0.1015593 2.153200
MI 2.458737 263825.0 0.9397944 2821.47952 22037.793 0.1013216 2.188987
TL 2.068603 143855.5 0.7416564 435.95734 9858.343 0.0988875 2.359085
Respuestas 8 .- Como vem os n la tab la Tabasco es e l estado con m ás préstamos vigentes con 0. 2 préstamos en promedio por cliente.

es más probable que se acepté un préstamo dado que se tiene uno vigente?

g<-ggplot(data=ocup,aes(x=num_prestamos,y=pct_contrata))+geom_point(aes(color=CD_ESTADO))+geom_smooth(method='loess')
ggplotly(g)
#> We recommend that you use the dev version of ggplot2 with `ggplotly()`
#> Install it with: `devtools::install_github('hadley/ggplot2')`

No existe una relación muy clara que a mayor número de préstamos se dé una mayor aceptación del crédito, no hay una relacion lineal clara en los datos

Cuál es la relación entre los ingresos promedio por estado y los gastos promedio mensuales por individuo por estado?

g<-ggplot(data=ocup,aes(x=ingresos,y=gastos))+geom_point(aes(color=CD_ESTADO))+geom_smooth(method='lm')
ggplotly(g)
#> We recommend that you use the dev version of ggplot2 with `ggplotly()`
#> Install it with: `devtools::install_github('hadley/ggplot2')`

La relación es casi perfecta el que más gana más gasta

Cuál es la relación de la inactividad de los clientes en los últimos 3 meses y las contrataciones de préstamos por estado?

g<-ggplot(data=ocup,aes(x=inactividad,y=pct_contrata))+geom_point(aes(color=CD_ESTADO))+geom_smooth(method='loess')
ggplotly(g)
#> We recommend that you use the dev version of ggplot2 with `ggplotly()`
#> Install it with: `devtools::install_github('hadley/ggplot2')`

Aunque no es muy claro, parece que la tendencia se carga más a pensar que a mayor inactividad hay menor % de contrataciones por estado.